Packet Classi cation using Tuple Space Search
نویسندگان
چکیده
Routers must perform packet classi cation at high speeds to e ciently implement functions such as rewalls and QoS routing. Packet classi cation requires matching each packet against a database of lters (or rules), and forwarding the packet according to the highest priority lter. Existing lter schemes with fast lookup time do not scale to large lter databases. Other more scalable schemes work for 2-dimensional lters, but their lookup times degrade quickly with each additional dimension. While there exist good hardware solutions, our new schemes are geared towards software implementation. We introduce a generic packet classi cation algorithm, called Tuple Space Search (TSS). Because real databases typically use only a small number of distinct eld lengths, by mapping lters to tuples even a simple linear search of the tuple space can provide signi cant speedup over naive linear search over the lters. Each tuple is maintained as a hash table that can be searched in one memory access. We then introduce techniques for further re ning the search of the tuple space, and demonstrate their e ectiveness on some rewall databases. For example, a real database of 278 lters had a tuple space of 41 which our algorithm prunes to 11 tuples. Even as we increased the lter database size from 1K to 100K (using a random two-dimensional lter generation model), the number of tuples grew from 53 to only 186, and the pruned tuples only grew from 1 to 4. Our Pruned Tuple Space search is also the only scheme known to us that allows fast updates and fast search times. We also show a lower bound on the general tuple space search problem, and describe an optimal algorithm, called Rectangle Search, for two-dimensional lters. Research supported in part by NSF Grant NCR-9628145. Research supported in part by NSF Grant 9813723 Research supported in part by NSF Grant NCR 9813723.
منابع مشابه
TTSS Packet Classification Algorithm to enhance Multimedia Applications in Network Processor based Router
The objective of this paper is to implement the Trie based Tuple Space Search(TTSS) packet classification algorithm for Network Processor(NP) based router to enhance multimedia applications. The performance is evaluated using Intel IXP2400 NP Simulator. The results demonstrate that, TTSS has better performance than Tuple Space Search algorithm and is well suited to achieve high speed packet cla...
متن کاملPacket classification using diagonal-based tuple space search
Multidimensional packet classification has attracted considerable research interests in the past few years due to the increasing demand on policy based packet forwarding and security services. These network services typically involve determining the action to take on packets according to a set of rules. As the number of rules increases, time for determining the best matched rule for an incoming...
متن کاملModified collision packet classification using counting bloom filter in tuple space
Packet classification continues to be an important challenge in network processing. It requires matching each packet against a database of rules and forwarding the packet according to the highest priority matching rule. Within the packet classification hash-based algorithms, an algorithm that is gaining interest is the tuple space search algorithm that groups the rules into a set of tuple space...
متن کاملFast Firewall Implementations for Software-based Routers
Routers must perform packet classi cation at high speeds to e ciently implement functions such as rewalls. The classi cation can be based on an arbitrary number of pre x and range elds in the packet header. The classi cation required for rewalls is beyond the capabilities o ered by standard Operating System classi ers such as BPF [12], DPF [7], PathFinder [1] and others. In fact, there are theo...
متن کاملFormal speci cation of JavaSpacesTM architecture using CRL
We study a formal speci cation of the shared data space architecture, JavaSpaces. This Java technology provides a virtual space for entities, like clients and servers, to communicate by sharing objects. We use CRL, a language that combines abstract data types with process algebra, to model an abstraction of this coordination architecture. Besides the basic primitives write, read and take, our m...
متن کامل